<?php

namespace Agp\CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * LogErroTerminal
 *
 * @ORM\Table(name="log_erro_terminal")
 * @ORM\Entity(repositoryClass="Agp\CoreBundle\Repository\LogErroTerminalRepository")
 */
class LogErroTerminal
{
    /**
     * @var integer
     * @ORM\Column(name="cod_log_erro_terminal", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $codLogErroTerminal;

    /**
     * @var \stdClass
     * @ORM\ManyToOne( targetEntity="Terminal" , inversedBy="erros" )
     * @ORM\JoinColumn(name="cod_terminal", referencedColumnName="cod_terminal")
     * 
     */
    private $terminal;

    /**
     * @var \stdClass
     * @ORM\ManyToOne( targetEntity="Empresa" )
     * @ORM\JoinColumn(name="cod_empresa", referencedColumnName="cod_empresa")
     * 
     */
    private $empresa;
    
    /**
     * @var \stdClass
     *
     * @ORM\Column(name="cod_mensagem", type="string")
     */
    private $codMensagem;
   
    const MSG_GET_TESTE = '0'; 
    const MSG_GET_ZIP = '1'; 
    const MSG_GET_LIBERACAO = '2'; 
    const MSG_SET_VENDA = '3'; 
    const MSG_GET_PRODUTO = '4'; 
    const MSG_GET_ATENDENTE = '5'; 
    const MSG_GET_PERMISSAO = '6'; 
    const MSG_SET_FECHAMENTO = '7'; 
    const MSG_GET_RELATORIO = '8'; 
    const MSG_SET_TRASACAO_CARTAO = '9'; 
    const MSG_GET_VENDA_ONLINE = '10'; 
    const MSG_SET_VENDA_CONECTADA = '11'; 
    const MSG_GET_ATT = '997'; 
    const MSG_GET_APP = '998'; 
    const MSG_GET_APP_INFO= '999';

    /**
     * @var string
     *
     * @ORM\Column(name="especie_erro", type="string", length=80)
     */
    private $especieErro;

    /**
     * @var string
     *
     * @ORM\Column(name="log", type="text")
     */
    private $log;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dt_log", type="datetime")
     */
    private $dtLog;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getCodLogErroTerminal()
    {
        return $this->codLogErroTerminal;
    }

    /**
     * Set codTerminal
     *
     * @param \stdClass $codTerminal
     * @return LogErroTerminal
     */
    public function setCodTerminal($codTerminal)
    {
        $this->codTerminal = $codTerminal;

        return $this;
    }

    /**
     * Get codTerminal
     *
     * @return \stdClass 
     */
    public function getCodTerminal()
    {
        return $this->codTerminal;
    }

    /**
     * Set codEmpresa
     *
     * @param \stdClass $codEmpresa
     * @return LogErroTerminal
     */
    public function setCodEmpresa($codEmpresa)
    {
        $this->codEmpresa = $codEmpresa;

        return $this;
    }

    /**
     * Get codEmpresa
     *
     * @return \stdClass 
     */
    public function getCodEmpresa()
    {
        return $this->codEmpresa;
    }
     
    public function getTerminal()
    {
        return $this->terminal;
    }
    
    public function setTerminal( $valor )
    {
        $this->terminal = $valor;
    }
    
    public function getEmpresa()
    {
        return $this->empresa;
    }
    
    public function setEmpresa( $valor )
    {
        $this->empresa = $valor;
    }

    /**
     * Set codMensagem
     *
     * @param \stdClass $codMensagem
     * @return LogErroTerminal
     */
    public function setCodMensagem($codMensagem)
    {
        $this->codMensagem = $codMensagem;

        return $this;
    }

    /**
     * Get codMensagem
     *
     * @return \stdClass 
     */
    public function getCodMensagem()
    {
        return $this->codMensagem;
    }

    /**
     * Set especieErro
     *
     * @param string $especieErro
     * @return LogErroTerminal
     */
    public function setEspecieErro($especieErro)
    {
        $this->especieErro = $especieErro;

        return $this;
    }

    /**
     * Get especieErro
     *
     * @return string 
     */
    public function getEspecieErro()
    {
        return $this->especieErro;
    }

    /**
     * Set log
     *
     * @param string $log
     * @return LogErroTerminal
     */
    public function setLog($log)
    {
        $this->log = $log;

        return $this;
    }

    /**
     * Get log
     *
     * @return string 
     */
    public function getLog()
    {
        return $this->log;
    }

    /**
     * Set dtLog
     *
     * @param \DateTime $dtLog
     * @return LogErroTerminal
     */
    public function setDtLog($dtLog)
    {
        $this->dtLog = $dtLog;

        return $this;
    }

    /**
     * Get dtLog
     *
     * @return \DateTime 
     */
    public function getDtLog()
    {
        return $this->dtLog;
    }

    public function getMensagemLabel( ){

        switch ( $this->codMensagem ) {

            case self::MSG_GET_TESTE: 
                return 'TESTE';
            break;
            case self::MSG_GET_ZIP: 
                return 'ZIP';
            break;
            case self::MSG_GET_LIBERACAO: 
                return 'LIBERAÇÃO';
            break;
            case self::MSG_SET_VENDA: 
                return 'VENDA';
            break;
            case self::MSG_GET_PRODUTO: 
                return 'PRODUTO';
            break;
            case self::MSG_GET_ATENDENTE: 
                return 'ATENDENTE';
            break;
            case self::MSG_GET_PERMISSAO: 
                return 'PERMISSÃO';
            break;
            case self::MSG_SET_FECHAMENTO: 
                return 'FECHAMENTO';
            break;
            case self::MSG_GET_RELATORIO: 
                return 'RELATÓRIO';
            break;
            case self::MSG_SET_TRASACAO_CARTAO: 
                return 'TRANSAÇÃO CARTÃO';
            break;
            case self::MSG_GET_VENDA_ONLINE: 
                return 'VENDA ONLINE';
            break;
            case self::MSG_SET_VENDA_CONECTADA: 
                return 'VENDA CONECTADA';
            break;
            case self::MSG_GET_ATT: 
                return 'ATT';
            break;
            case self::MSG_GET_APP: 
                return 'APP';
            break;
            case self::MSG_GET_APP_INFO: 
                return 'APP_INFO';
            break;

        }

    }

}
